約 1,205,124 件
https://w.atwiki.jp/flex_framework/pages/23.html
さて、ここではCairngormのもっとも重要な部分である Controller層について解説していきます。 Cairngormでは 「ScriptタグはMXMLの中にはできるだけ書かないようにしよう」 という考え方のもとに作られているのですが、 もうひとつの特徴が 「発生するイベントを一元管理しよう」 というものがあげられます。 このイベントの一元管理を実現しているのが Controller層なのです。 Controller層は大きく分けて3つになります。 1)SamplecairngormControllerというクラス 2)Commandパッケージ 3)Eventパッケージ 1) SamplecairngormControllerというクラスはイベントを一元管理するためのクラスです。 サンプルのソースを解説していきましょう。 package sample.controller.samplecairngorm { import com.adobe.cairngorm.control.FrontController; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・① import sample.controller.samplecairngorm.command.*; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・② /** * イベントマッピングを行うコントローラークラスです。 * このクラスでイベントを一元管理しています。 */ public class SamplecairngormController extends FrontController ・・・・・・・・・・・・・・・・③ { /** イベントを一意に識別するためのイベント名称をここで設定します */ public static const SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT String = "clickBtnHelloWorldEvent"; ・・・④ /** * コンストラクタです。 */ public function SamplecairngormController() void { super(); // addCommandメソッドで一意に指定したイベント識別名とCommandクラスとのマッピングを行います。 // これによりこの識別イベント名のイベントが発生するとCommandクラスが呼び出されるようになります。 addCommand(SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT,ClickBtnHelloWorldCommand); ・・・・・⑤ } } } ①import com.adobe.cairngorm.control.FrontController Cairngormでイベントを一元管理するために必要なFrontControllerクラスをインポートしています。 後で記述していますが、このFrontControllerクラスを継承することで、 イベントを一元管理してくれる役割をもったクラスになるわけです。 ②Commandパッケージのインポート Commandパッケージに所属するCommandクラスをインポートしています。 2)のパッケージですね。 Commandというのはイベントと1対1になるもので、 イベントが発生した際に、実行されるロジックが実装されたクラスを指しています。 クラスの内容は2)で解説します。 ③FrontControllerを継承したクラスの宣言 ①で出てきたFrontControllerクラスを継承したクラスの宣言です。 既に記したようにイベントを一元管理するために必要なクラスを継承しているという宣言です。 ④public static const SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENTの宣言 Eventクラスを作成したときに使う「イベント名」をここで設定しています。 この「イベント名」がMXMLより送出されれる「イベント名」になります。 ですので、ここで宣言したイベント名がFrontControllerの中で管理されるようになります。 ⑤addCommand()メソッド ④で宣言したイベント名とCommandパッケージの中のCommandクラスの名前を引数として 実行されるメソッドです。 このaddCommandメソッドこそがCairngormでイベントと実行ロジック実装クラスとをマッピングするメソッドなのです。 このメソッドでイベントとCommandクラス名を設定しなければ、 イベントが起こってもイベントに対応した実行ロジックを呼び出すことができません。 このメソッドはCairngormの中でもっとも重要なメソッドのひとつでしょう。 2) Commandパッケージは前述にある実行ロジックの実装クラスのパッケージです。 ここでは実際にサンプルアプリケーションのCommandクラスを見てみましょう。 package sample.controller.samplecairngorm.command { import com.adobe.cairngorm.commands.ICommand; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・① import com.adobe.cairngorm.control.CairngormEvent; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・② import mx.rpc.IResponder; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・③ import sample.controller.samplecairngorm.event.ClickBtnHelloWorldEvent; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・④ import sample.datamodel.ApplicationDataModel; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・⑤ import sample.service.samplecairngorm.SamplecairngormHttpDelegate; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・⑥ /** * イベントを実際に実行するコマンドクラスです */ public class ClickBtnHelloWorldCommand implements ICommand,IResponder ・・・・・・・・・・・・・・・・・・・・・・・・・⑦ { /** * イベント発生後、最初に実行されるメソッドです。 * @param event CairngormEvent */ public function execute(event CairngormEvent) void ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・⑧ { // イベントはCairngormイベントの形でわたってきますので、 // それを専用のイベントにキャストします。 var e ClickBtnHelloWorldEvent = event as ClickBtnHelloWorldEvent; ・・・・・・・・・・・・・・・・・・・・・・・⑨ // Delegateクラスをインスタンス化する際に自分のインスタンスを渡します。 // これは「IResponder」インターフェースを実装したクラスが自分だからです。 var httpDelegate SamplecairngormHttpDelegate = new SamplecairngormHttpDelegate(this); ・・・⑩ // Delegateをインスタンス化する際に自分のインスタンスを渡していますが、 // このことにより、下記、メソッドが実行され、HTTPServiceあるいはRemoteObjectでの // サーバー連携の結果が自分のインスタンスの「result」あるいは「fault」メソッドに // 帰ってくるようになります。 httpDelegate.clickBtnHelloWorld(new Object()); ・・・・・・・・・・・・・・・・・・・・・・・・⑪ } /** * Resultイベントハンドラです。 * @param data オブジェクト */ public function result(data Object) void ・・・・・・・・・・・・・・・・・・・・・・・・⑫ { var model ApplicationDataModel = ApplicationDataModel.getInstance(); ・・・・・・・・・・・・・・⑬ model.sampleModel.txtField = data.result.docs.doc.say; ・・・・・・・・・・・・・⑭ } /** * Faultイベントハンドラです。 * @param info オブジェクト */ public function fault(info Object) void ・・・・・・・・・・・・・・・・・・・・・・⑮ { } } } ①ICommandインターフェースのインポート ICommandインターフェースはFrontControllerクラスを継承したクラス(サンプルではSamplecairngormController)で、 addCommandメソッドを実行する際に第2引数として渡していたCommandクラス名を 確定させるためのインターフェースです。 つまり、このICommandインターフェースを実装しないと、 FrontControllerを継承したクラスの中でaddCommandメソッドを呼び出した際に、認識してくれないのです。 ですので、Commandクラスを作成する際には必ずimplementsしましょう。 ②CairngormEventクラスのインポート このCommandクラスが受け取るEventをインポートしています。 CairngormでのイベントはすべてこのCairngormEventクラスを継承して作られています。 このあたりについては3)にて解説しますが、 executeメソッドの第1引数として渡されるクラスがこのCairngormEventなのです。 ③IResponderインターフェースのインポート IResponderインターフェースはHTTPServiceでのサーバサイドの呼び出し、 あるいはRemoteObjectのメソッドを使ってのサーバサイドの呼び出しの際に、 成功(result)か失敗(fault)かをハンドルするためのインターフェースです。 これもまたCommandと同様にimplementsしないと、後に出てくるDelegateのメソッドを実行した際に、 成功したか失敗したかの結果が返ってこなくなってしまいます。 ですので、Commandクラスを作成する際には必ずimplementsしましょう。 ④ClickBtnHelloWorldEventクラスのインポート executeメソッドで実際にイベントを受け取った際に、 このCommand専用のイベントにキャストするためにインポートしているクラスです。 ecxecuteメソッドが呼び出されたときに引数としてCairngormEventをもっているのですが、 多くの場合、呼び出されたCommand特有のイベントへとキャストして使います。 今回の場合は var e ClickBtnHelloWorldEvent = event as ClickBtnHelloWorldEvent としてCairngormEventからClickBtnHelloWorldEventへとキャストをしています。 ⑤ApplicationDataModelクラスのインポート ApplicationDataModelはデータバインディングのデータの入れ物、器です。 詳しいことはDataModel層の解説で述べますが、 データの入れ物ということなので、MXMLでデータを表示する際に使うためインポートしています。 ⑥SamplecairngormHttpDelegateクラスのインポート DelegateクラスはHTTPServiceあるいはRemoteObjectと直接連携するために 設けられたクラスです。 これはService層で解説しますが、このサンプルではHTTPServicecと連携したいために、 その連携方法をもつDelegateであるSamplecairngormHttpDelegateをインポートしています。 ⑦public class ClickBtnHelloWorldCommand implements ICommand,IResponder 前述のICommand、IResponderを実装したクラスの宣言です。 ⑧executeメソッド イベントが送出された際に呼び出される実行メソッドです。 FrontControllerを継承したクラスの中でaddCommandメソッドを用いて、 イベントとCommandクラスをマッピングしていますが、 このイベントが起こった際に呼び出されるメソッドがこのメソッドです。 またイベントが起こった際にはCairngormEventが渡されてきます。 多くの場合、自分のCommandクラスに関連付けされたEventへキャストして利用します。 これは④で、既に述べられています。 ⑨ClickBtnHelloWorldEventクラスへのキャスト ④、⑧の解説ですべてです。 ⑩HTTPServiceあるいはRemoteObjectとの橋渡し役をするDelegateクラスのインスタンス化 Delegateクラスの役割は⑥の解説とService層の解説に記述されていますが、 ここでのポイントはDelegateクラスをインスタンス化するときに、 new SamplecairngormHttpDelegate(this) と、自分のインスタンスを渡しているところです。 この自分のインスタンスを渡すことで、自分の持っているメソッドであるresult、faultに HTTPServiceやRemoteObjectメソッドの実行結果が返ってくるようになります。 これはIResponderインターフェースを実装しているからです。 ⑪Delegateのメソッドの呼び出し HTTPServiceやRemoteObjectを利用しての呼び出しはすべてDelegateクラスを 用いて行うこと、というのがCairngormのひとつのルールです。 このサンプルでもそのルールに従って呼び出しています。 ⑫resultメソッド ⑬ApplicationDataModelのインスタンスの取得 ⑭結果をDataModelへ設定 ⑩にて解説されていますが、Delegateクラスのメソッドを実行したときに、 その実行が成功した場合に実行されるメソッドです。 サーバサイドと連携した場合、このメソッドにデータベースの検索結果等が 返ってきますので、それを用いてロジックを実装していくところです。 多くの場合、データベースの検索結果などは ApplicationDataModelのインスタンスを取得して、 そのDataModelのプロパティに該当する結果を設定する、といった形になります。 ⑮faultメソッド ⑩にて解説されていますが、Delegateクラスのメソッドを実行したときに、 その実行が失敗した場合に実行されるメソッドです。 HTTP接続エラーなどのエラーハンドリングは、このメソッドで記述していくことが多いのではないでしょうか。 3) EventパッケージはFrontControllerクラスを継承したクラスを作る際に public static const SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT のように静的領域に文字列を宣言していましたよね。 その文字列を使って作ったものがEventパッケージの中に入ります。 ここでは実際にサンプルアプリケーションのEventクラスを見てみましょう。 package sample.controller.samplecairngorm.event { import com.adobe.cairngorm.control.CairngormEvent; ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・① import sample.controller.samplecairngorm.* ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・② /** * イベントクラスです */ public class ClickBtnHelloWorldEvent extends CairngormEvent ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・③ { /** * コンストラクタです */ public function ClickBtnHelloWorldEvent(o Object) void ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・④ { // コントローラーに設定した一意に識別するためのイベント名を // superクラスのコンストラクタに渡しています。 // これにより、このイベントはコントローラーに設定した一意の識別名をもつ // イベントとして認識されるようになります。 super(SamplecairngormController.SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT); ・・・・・・⑤ } } } ①import com.adobe.cairngorm.control.CairngormEvent Eventクラスを作る際には、Cairngormでは必ず、このCairngormEventクラスを継承します。 その継承のためにインポートをしています。 ② import sample.controller.samplecairngorm.* 後で記述が出てきますが、FrontControllerクラスを継承したクラスの中で 「public static const」と宣言した文字列があると思います。 その文字列を利用するため、Controllerクラスをインポートしています。 ③public class ClickBtnHelloWorldEvent extends CairngormEvent CairngormEventを継承してEventクラスを宣言しています。 ④ ClickBtnHelloWorldEventコンストラクタ ⑤super(SamplecairngormController.SAMPLECAIRNGORM_BTNHELLOWORLD_CLICK_EVENT) このコンストラクタの中で宣言されている親クラスのコンストラクタを呼び出すsuper()メソッドの中で、 ②にてインポートしたFrontControllerクラスを継承したクラスの 「public static const」で宣言した文字列を利用して親のコンストラクタを呼び出しています。 この親のコンストラクタに渡される文字列が、Cairngormの中で一元管理されるようになります。 以上、少し長くなりましたがController層の解説になります。 次はDataModel層です。
https://w.atwiki.jp/btrsgk/pages/41.html
超簡易シューティングです。 シューティングの基本形です。 自機の処理、敵の処理、自機の弾の処理、敵の弾の処理という基本的なプログラムが入っています。 mx=300 my=300 dim mtx,5 dim mty,5 repeat 5 mty(cnt)=-100 loop mtw=0 dim tx,100 dim ty,100 repeat 100 ty(cnt)=480 loop tw=0 dim ttx,100 dim tty,100 dim ttw,100 repeat 100 tty(cnt)=480 loop HP=10 *main redraw 1 redraw 0 await 30 stick ky,31 color 255,255,255 boxf if ky 1{mx-=5} if ky 2{my-=5} if ky 4{mx+=5} if ky 8{my+=5} if mx 0 mx=0 if my 0 my=0 if 600 mx mx=600 if 440 my my=440 if (ky 16)=16 { repeat 5 if mty(cnt) -40 mtw 0{ mty(cnt)=my-20 mtx(cnt)=mx+10 mtw=10 } loop } mtw-- repeat 5 mt=cnt mty(mt)-=7 repeat 100 t=cnt if mtx(mt) tx(t)+40 tx(t) mtx(mt)+20 mty(mt) ty(t)+40 ty(t) mty(mt)+20{ mty(mt)=-100 ty(t)=480 SCORE+=5 } if mtx(mt) ttx(t)+20 ttx(t) mtx(mt)+40 mty(mt) tty(t)+20 tty(t) mty(mt)+40{ mty(mt)=-100 ttx(t)=640 } loop loop repeat 100 if ty(cnt) 480 tw 0{ tx(cnt)=rnd(600) ty(cnt)=-40 tw=20 } ty(cnt)+=2 if tx(cnt) mx+40 mx tx(cnt)+40 ty(cnt) my+40 my ty(cnt)+40 GAMEOVER=0{ HP-- tx(cnt)=640 } if ttx(cnt) mx+40 mx ttx(cnt)+20 tty(cnt) my+40 my tty(cnt)+20 GAMEOVER=0{ HP-- ttx(cnt)=640 } loop tw-- repeat 100 if ttw(cnt) 0 tty(cnt) 480 { ttx(cnt)=tx(cnt)+10 tty(cnt)=ty(cnt)+40 ttw(cnt)=100+rnd(100) } ttw(cnt)-- tty(cnt)+=3 loop font msgothic,40 color 0,0,0 pos mx,my mes "自" font msgothic,20 repeat 5 pos mtx(cnt),mty(cnt) mes "△" loop pos 100,0 repeat 100 font msgothic,40 pos tx(cnt),ty(cnt) mes "敵" loop font msgothic,20 repeat 100 pos ttx(cnt),tty(cnt) mes "▼" loop if HP 0 { font msgothic,40 pos 0,0 mes "HP " + HP} if HP =0 { font msgothic,40 pos 0,0 mes"GAMEOVER" pos mx,my mes "■" } font msgothic,40 pos 340,0 mes "SCORE "+SCORE goto*main
https://w.atwiki.jp/informalarcanamatrix/pages/91.html
初めに 〇空戦9点夜間・魔女コース行動指針 〇空戦10点高高度・夜間・魔女コース行動指針 〇空戦9点爆撃輸送コース行動指針 〇空戦9点爆撃輸送コース行動指針 〇空戦10点バランスコース行動指針 〇空戦16点(空軍魔女)コース行動指針 〇空戦18点(空軍魔女)コース行動指針 〇空戦18点(戦闘機重点)コース行動指針 〇空戦18点(爆撃機重点)コース行動指針 〇空戦19点コース行動指針 初めに このサンプルは、あなたの活躍を保証するものではありません。 10点までのコースはゴーストブリゲイド用の基礎サンプルになります。 16点より先は、自力でできることを増やした構成のサンプルです。 初回は10点までのサンプルで様子を見るのもよいでしょう。 (文責:玄桐) 〇空戦9点夜間・魔女コース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └☑☑戦闘機大隊(第二)Fw190D9 └□□□戦闘機大隊(第三)Me262A1 └☑☑夜間戦闘機大隊 bf110G └☑空軍魔女大隊 └☑整備中隊 └□施設工兵大隊 └□工兵資材 └□爆撃機科 └□急降下爆撃機大隊(第一)Ju87D └□□戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └□空軍歩兵科 └□高射砲科 戦略値 21 作戦値 0 戦術値 31 ※使用可能なコマンドリスト※ ○戦術偵察 必要戦術値20:航空偵察中隊、または空軍魔女大隊で使用可能。同時に使用する必要戦術値は−15される。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○防空戦 必要戦術値20:夜間戦闘機、戦闘機、または高射砲大隊、または軽戦車が3以上必要。このターン航空攻撃による飛行場破壊、陣地破壊一つを無効化する。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○対爆撃戦 必要戦術値30:整備済みの(使用可能な)戦闘機大隊2以上(夜間戦闘機を含めても良い)が必要。敵の爆撃機部隊1つを取り除く。 ○対夜間爆撃 必要戦術値30:整備済みの(使用可能な)夜間戦闘機1以上が必要。夜間爆撃の効果を無効にする。 ○擾乱攻撃 必要戦術値30:空軍魔女大隊が必要。このターン敵の戦術値を−5する。 ー突破が必要ー ○兵站線破壊 必要戦術値30:突破が必要。敵の戦略値ー20。 行動指針 この編成は制空権の確保を目的とした戦闘機メインのサンプルです。 魔女によるかく乱攻撃や積極空戦にて制空権をとりに行きます。 自前で飛行場を作れないので、友軍に頼りましょう。 /*/ 〇空戦10点高高度・夜間・魔女コース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └□□戦闘機大隊(第二)Fw190D9 └☑☑☑戦闘機大隊(第三)Me262A1 └☑☑夜間戦闘機大隊 bf110G └☑空軍魔女大隊 └☑整備中隊 └□施設工兵大隊 └□工兵資材 └□爆撃機科 └□急降下爆撃機大隊(第一)Ju87D └□□戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └□空軍歩兵科 └□高射砲科 戦略値 20 作戦値 0 戦術値 30 ※使用可能なコマンドリスト※ ○戦術偵察 必要戦術値20:航空偵察中隊、または空軍魔女大隊で使用可能。同時に使用する必要戦術値は−15される。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○防空戦 必要戦術値20:夜間戦闘機、戦闘機、または高射砲大隊、または軽戦車が3以上必要。このターン航空攻撃による飛行場破壊、陣地破壊一つを無効化する。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○高高度空戦 必要戦術値20:整備済みの(使用可能な)Me262装備の戦闘機部隊1以上が必要。高高度爆撃を無効化する。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○対爆撃戦 必要戦術値30:整備済みの(使用可能な)戦闘機大隊2以上(夜間戦闘機を含めても良い)が必要。敵の爆撃機部隊1つを取り除く。 ○対夜間爆撃 必要戦術値30:整備済みの(使用可能な)夜間戦闘機1以上が必要。夜間爆撃の効果を無効にする。 ○擾乱攻撃 必要戦術値30:空軍魔女大隊が必要。このターン敵の戦術値を−5する。 ー突破が必要ー ○兵站線破壊 必要戦術値30:突破が必要。敵の戦略値ー20。 行動指針 この編成は制空権の確保を目的とした戦闘機メインのサンプルです。 夜間魔女コースの第二戦闘機大隊を第三に入れ替え、高高度対応を可能にしたものになります。 自前で飛行場を作れないので、友軍に頼りましょう。 /*/ 〇空戦9点爆撃輸送コース ☑☓ドイツ空軍:空軍のツリー └□戦闘機科 └□戦闘機大隊(第一)bf109K └□□戦闘機大隊(第二)Fw190D9 └□□□戦闘機大隊(第三)Me262A1 └□□夜間戦闘機大隊 bf110G └□空軍魔女大隊 └□整備中隊 └□施設工兵大隊 └□工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └☑☑航空輸送大隊 Ju52 └☑航空偵察中隊 Fw189 └☑整備中隊 └□施設工兵大隊 └□工兵資材 └□空軍歩兵科 └□高射砲科 戦略値 21 作戦値 0 戦術値 31 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○戦術偵察 必要戦術値20:航空偵察中隊、または空軍魔女大隊で使用可能。同時に使用する必要戦術値は−15される。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 ○航空輸送 必要戦術値20:整備済みの(使用可能な)航空輸送大隊1以上が必要。このターン輸送車部隊が4つあるものとする。他のプレイヤー一人を選んでこの効果を付与することもできる。 ー突破が必要ー ○兵站線破壊 必要戦術値30:突破が必要。敵の戦略値ー20。 行動指針 この編成は阻止攻撃や航空砲兵による地上への攻撃を主体としたものです。 対空能力は低いですが、対地攻撃はそれなりにあります。また、航空輸送もできるのでいざというときに光る可能性があります。 自前で飛行場を作れないので、友軍に頼りましょう。 /*/ 〇空戦9点爆撃輸送コース ☑☓ドイツ空軍:空軍のツリー └□戦闘機科 └□戦闘機大隊(第一)bf109K └□□戦闘機大隊(第二)Fw190D9 └□□□戦闘機大隊(第三)Me262A1 └□□夜間戦闘機大隊 bf110G └□空軍魔女大隊 └□整備中隊 └□施設工兵大隊 └□工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └☑☑☑爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └☑航空偵察中隊 Fw189 └☑整備中隊 └□施設工兵大隊 └□工兵資材 └□空軍歩兵科 └□高射砲科 戦略値 20 作戦値 0 戦術値 30 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○戦術偵察 必要戦術値20:航空偵察中隊、または空軍魔女大隊で使用可能。同時に使用する必要戦術値は−15される。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○施設爆撃 必要戦術値20:航空優勢、整備済みの(使用可能な)爆撃機大隊(第三)が必要。飛行場を破壊するか、戦場を更地にする。(どちらかを選ぶ) ○夜間爆撃 必要戦術値30:整備済みの(使用可能な)爆撃機大隊(第三)が必要。戦場を更地にする。 ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 ○航空輸送 必要戦術値20:整備済みの(使用可能な)航空輸送大隊1以上が必要。このターン輸送車部隊が4つあるものとする。他のプレイヤー一人を選んでこの効果を付与することもできる。 ー突破が必要ー ○兵站線破壊 必要戦術値30:突破が必要。敵の戦略値ー20。 行動指針 この編成は阻止攻撃や航空砲兵による地上への攻撃を主体としたものです。 航空輸送を削り、対地爆撃能力を上昇させました。状況次第ですが戦場を更地にして敵の陣地効果や地形効果を変える力ももっています。 自前で飛行場を作れないので、友軍に頼りましょう。 /*/ 〇空戦10点バランスコース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └☑☑戦闘機大隊(第二)Fw190D9 └□□□戦闘機大隊(第三)Me262A1 └□□夜間戦闘機大隊 bf110G └□空軍魔女大隊 └☑整備中隊 └□施設工兵大隊 └□工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └□空軍歩兵科 └□高射砲科 戦略値 20 作戦値 0 戦術値 30 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○対爆撃戦 必要戦術値30:整備済みの(使用可能な)戦闘機大隊2以上(夜間戦闘機を含めても良い)が必要。敵の爆撃機部隊1つを取り除く。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 行動指針 この編成は積極空戦で制空権をとる、空戦で敵航空部隊を除去する、阻止攻撃で敵の戦力値を削る、を目的に構成されたものです。 自力での飛行場構築はできませんが、高い戦術値による先手で相手を減らすことが可能です。 後述の編成とあわせて15人くらいいるとプレゲームで勝ち目が見えると思われます。 /*/ ☆サンプルシナリオクリア方法は省略します 〇空戦16点(空軍魔女)コース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └☑☑戦闘機大隊(第二)Fw190D9 └□□□戦闘機大隊(第三)Me262A1 └□□夜間戦闘機大隊 bf110G └☑空軍魔女大隊 └☑整備中隊 └☑施設工兵大隊 └☑工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └☑空軍歩兵科 └☑歩兵大隊(第一) └☑歩兵大隊(第二) └□歩兵大隊(第三) └□小型対戦車砲中隊 37mm/50mm └□輸送車 オペルブリッツ └□□突撃砲(大隊) 三号突撃砲 └□軽戦車大隊 41(t) └□高射砲科 戦略値 14 作戦値 0 戦術値 24 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○戦術偵察 必要戦術値20:航空偵察中隊、または空軍魔女大隊で使用可能。同時に使用する必要戦術値は−15される。 ○飛行場構築 必要戦術値20:工兵資材に加え施設工兵大隊含む3個大隊(工兵または、歩兵でも良い)で使用可能。飛行場を構築する。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○防空戦 必要戦術値20:夜間戦闘機、戦闘機、または高射砲大隊、または軽戦車が3以上必要。このターン航空攻撃による飛行場破壊、陣地破壊を無効化する。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○対爆撃戦 必要戦術値30:整備済みの(使用可能な)戦闘機大隊2以上(夜間戦闘機を含めても良い)が必要。敵の爆撃機部隊1つを取り除く。 ○対夜間爆撃 必要戦術値30:整備済みの(使用可能な)夜間戦闘機1以上が必要。夜間爆撃の効果を無効にする。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○擾乱攻撃 必要戦術値30:空軍魔女大隊が必要。このターン敵の戦術値を−5する。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 行動指針 この編成は10点編成に工兵能力と空軍魔女部隊を追加した16点編成です。 自力での飛行場構築を可能とし、戦術偵察からのかく乱攻撃などで相手の戦術値を下げることもできます。 前出の10点編成よりできることが増えた分、必要戦術値30の行動は戦術偵察必須になる面でデメリットがあります。 後述の編成とあわせて15人くらいいるとプレゲームで勝ち目が見えると思われます。 /*/ ☆サンプルシナリオクリア方法は省略します 〇空戦18点(空軍魔女)コース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └☑☑戦闘機大隊(第二)Fw190D9 └□□□戦闘機大隊(第三)Me262A1 └☑☑夜間戦闘機大隊 bf110G └☑空軍魔女大隊 └☑整備中隊 └☑施設工兵大隊 └☑工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └☑空軍歩兵科 └☑歩兵大隊(第一) └☑歩兵大隊(第二) └□歩兵大隊(第三) └□小型対戦車砲中隊 37mm/50mm └□輸送車 オペルブリッツ └□□突撃砲(大隊) 三号突撃砲 └□軽戦車大隊 41(t) └□高射砲科 戦略値 12 作戦値 0 戦術値 22 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○戦術偵察 必要戦術値20:航空偵察中隊、または空軍魔女大隊で使用可能。同時に使用する必要戦術値は−15される。 ○飛行場構築 必要戦術値20:工兵資材に加え施設工兵大隊含む3個大隊(工兵または、歩兵でも良い)で使用可能。飛行場を構築する。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○防空戦 必要戦術値20:夜間戦闘機、戦闘機、または高射砲大隊、または軽戦車が3以上必要。このターン航空攻撃による飛行場破壊、陣地破壊を無効化する。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○対爆撃戦 必要戦術値30:整備済みの(使用可能な)戦闘機大隊2以上(夜間戦闘機を含めても良い)が必要。敵の爆撃機部隊1つを取り除く。 ○対夜間爆撃 必要戦術値30:整備済みの(使用可能な)夜間戦闘機1以上が必要。夜間爆撃の効果を無効にする。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○擾乱攻撃 必要戦術値30:空軍魔女大隊が必要。このターン敵の戦術値を−5する。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 行動指針 この編成は10点編成に工兵能力と夜間能力、空軍魔女部隊を追加した18点編成です。 自力での飛行場構築を可能とし、戦術偵察からのかく乱攻撃などで相手の戦術値を下げることもできます。 夜間戦闘機が増えた分で防空戦も可能です。 前出の10点編成よりできることが増えた分、必要戦術値30の行動は戦術偵察必須になる面でデメリットがあります。 後述の編成とあわせて15人くらいいるとプレゲームで勝ち目が見えると思われます。 /*/ ☆サンプルシナリオクリア方法は省略します 〇空戦18点(戦闘機重点)コース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └☑☑戦闘機大隊(第二)Fw190D9 └☑☑☑戦闘機大隊(第三)Me262A1 └□□夜間戦闘機大隊 bf110G └□空軍魔女大隊 └☑整備中隊 └☑施設工兵大隊 └☑工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └☑空軍歩兵科 └☑歩兵大隊(第一) └☑歩兵大隊(第二) └□歩兵大隊(第三) └□小型対戦車砲中隊 37mm/50mm └□輸送車 オペルブリッツ └□□突撃砲(大隊) 三号突撃砲 └□軽戦車大隊 41(t) └□高射砲科 戦略値 12 作戦値 0 戦術値 22 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○飛行場構築 必要戦術値20:工兵資材に加え施設工兵大隊含む3個大隊(工兵または、歩兵でも良い)で使用可能。飛行場を構築する。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○防空戦 必要戦術値20:夜間戦闘機、戦闘機、または高射砲大隊、または軽戦車が3以上必要。このターン航空攻撃による飛行場破壊、陣地破壊を無効化する。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○戦闘機一掃 必要戦術値20:航空優勢、整備済みの(使用可能な)戦闘機大隊3以上が必要。敵3航空部隊を取り除く。何を除くかはプレイヤーが決める。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 行動指針 この編成は10点編成に工兵能力と戦闘機大隊第三を追加した18点編成です。 自力での飛行場構築を可能とし、より戦闘機を増やした結果防空戦も可能とし、航空優勢を取れれば戦闘機一層も可能になりました。 前出の10点編成よりできることが増えましたが、必要戦術値30の行動がとれなくなった面に注意する必要があります。 一人二人いるといいかもくらいですが、優先すべきは10点編成か魔女編成だとおもわれます。 後述の編成とあわせて15人くらいいるとプレゲームで勝ち目が見えると思われます。 /*/ ☆サンプルシナリオクリア方法は省略します 〇空戦18点(爆撃機重点)コース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └☑☑戦闘機大隊(第二)Fw190D9 └□□□戦闘機大隊(第三)Me262A1 └□□夜間戦闘機大隊 bf110G └□空軍魔女大隊 └☑整備中隊 └☑施設工兵大隊 └☑工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └☑☑☑爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └☑空軍歩兵科 └☑歩兵大隊(第一) └☑歩兵大隊(第二) └□歩兵大隊(第三) └□小型対戦車砲中隊 37mm/50mm └□輸送車 オペルブリッツ └□□突撃砲(大隊) 三号突撃砲 └□軽戦車大隊 41(t) └□高射砲科 戦略値 12 作戦値 0 戦術値 22 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○飛行場構築 必要戦術値20:工兵資材に加え施設工兵大隊含む3個大隊(工兵または、歩兵でも良い)で使用可能。飛行場を構築する。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○施設爆撃 必要戦術値20:航空優勢、整備済みの(使用可能な)爆撃機大隊(第三)が必要。飛行場を破壊するか、戦場を更地にする。(どちらかを選ぶ) ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 行動指針 この編成は10点編成に工兵能力と爆撃機大隊第三を追加した18点編成です。 自力での飛行場構築を可能とし、より爆撃機を増やした結果、航空優勢ならば施設爆撃などが可能となりました 前出の10点編成よりできることが増えましたが、必要戦術値30の行動がとれなくなった面に注意する必要があります。 一人二人いるといいかもくらいですが、優先すべきは10点編成か魔女編成だとおもわれます。 後述の編成とあわせて15人くらいいるとプレゲームで勝ち目が見えると思われます。 /*/ ☆サンプルシナリオクリア方法は省略します 〇空戦19点コース ☑☓ドイツ空軍:空軍のツリー └☑戦闘機科 └☑戦闘機大隊(第一)bf109K └☑☑戦闘機大隊(第二)Fw190D9 └☑☑☑戦闘機大隊(第三)Me262A1 └□□夜間戦闘機大隊 bf110G └☑空軍魔女大隊 └☑整備中隊 └☑施設工兵大隊 └☑工兵資材 └☑爆撃機科 └☑急降下爆撃機大隊(第一)Ju87D └☑☑戦闘爆撃機大隊(第二)Fw190F └□□□爆撃機大隊(第三)Ju88A └□□航空輸送大隊 Ju52 └□航空偵察中隊 Fw189 └□整備中隊 └□施設工兵大隊 └□工兵資材 └☑空軍歩兵科 └☑歩兵大隊(第一) └☑歩兵大隊(第二) └□歩兵大隊(第三) └□小型対戦車砲中隊 37mm/50mm └□輸送車 オペルブリッツ └□□突撃砲(大隊) 三号突撃砲 └□軽戦車大隊 41(t) └□高射砲科 戦略値 12 作戦値 0 戦術値 22 ※使用可能なコマンドリスト※ ○航空偵察 必要戦術値20:爆撃機大隊、または偵察中隊で使用可能。戦闘前コマンド。敵の戦場、部隊総数、一番多い兵科の情報が公開される。 ○戦術偵察 必要戦術値20:航空偵察中隊、または空軍魔女大隊で使用可能。同時に使用する必要戦術値は−15される。 ○飛行場構築 必要戦術値20:工兵資材に加え施設工兵大隊含む3個大隊(工兵または、歩兵でも良い)で使用可能。飛行場を構築する。 ○陣地防御 必要戦術値10:陣地または市街地が必要。このターン損害を2部隊減らす。 ○航空整備 必要戦略値10:整備中隊が必要。次ターン航空機部隊を使用可能にする。 ○地上整備 必要戦略値10:整備中隊が必要。次ターン戦車部隊を使用可能にする。 ○防空戦 必要戦術値20:夜間戦闘機、戦闘機、または高射砲大隊、または軽戦車が3以上必要。このターン航空攻撃による飛行場破壊、陣地破壊を無効化する。 ○積極空戦 必要戦術値20:整備済みの(使用可能な)戦闘機大隊2以上が必要。航空優勢を取る。敵が航空優勢を保持している場合はこれを取り消す。 ○空戦 必要戦術値10:整備済みの(使用可能な)戦闘機大隊(戦闘爆撃機大隊でも良い)1以上が必要。敵の航空部隊1つを取り除く。何を除くかは敵が決める。 ○戦闘機一掃 必要戦術値20:航空優勢、整備済みの(使用可能な)戦闘機大隊3以上が必要。敵3航空部隊を取り除く。何を除くかはプレイヤーが決める。 ○対爆撃戦 必要戦術値30:整備済みの(使用可能な)戦闘機大隊2以上(夜間戦闘機を含めても良い)が必要。敵の爆撃機部隊1つを取り除く。 ○対夜間爆撃 必要戦術値30:整備済みの(使用可能な)夜間戦闘機1以上が必要。夜間爆撃の効果を無効にする。 ○航空襲撃戦 必要戦術値20:整備済みの(使用可能な)戦闘爆撃機大隊1以上が必要。敵の地上ユニット1つを取り除く。何を除くかはプレイヤーが決める。 ○擾乱攻撃 必要戦術値30:空軍魔女大隊が必要。このターン敵の戦術値を−5する。 ○阻止攻撃 必要戦術値20:航空優勢、整備済みの(使用可能な)(各種)爆撃機大隊2以上が必要。敵の戦略値をこのターン5減らす。 ○航空砲兵 必要戦術値10:航空優勢、整備済みの(使用可能な)急降下爆撃機大隊1以上が必要。敵の地上ユニット2つを取り除く。何を除くかはプレイヤーが決める。 行動指針 この編成は18点空軍魔女編成から夜間能力を削り、戦闘機大隊第三を追加した19点編成です。 コストを上げた分動きにくくなりましたが、やれることそのものは増えています。 戦闘機ではなく爆撃機を増やすプラン、航空輸送大隊を増やすプランに差し替えてもよいでしょう。その場合は施設爆撃ができたり、航空輸送で撤退支援などができたりします。 いろいろできますが、必要戦術値30の行動は戦術偵察必須になる面でデメリットがあります。 前出の編成とあわせて15人くらいいるとプレゲームで勝ち目が見えると思われます。 /*/ ☆サンプルシナリオクリア方法は省略します
https://w.atwiki.jp/chapati4it/pages/20.html
解説 swingで、画像を表示するサンプルです。 ポイント ImageIconクラスでアイコンとして画像を読み込む JLabelにアイコンを設定 大きさも変えずただ表示するだけならとっても簡単です。 実行結果 ソース ImageTest1.java import javax.swing.ImageIcon; import javax.swing.JFrame; import javax.swing.JLabel; // swing 画像表示サンプル // ポイント1.ImageIconクラスでアイコンとして画像を読み込む // ポイント2.JLabelにアイコンを設定 // 大きさも変えずただ表示するだけならとっても簡単です。 public class ImageTest1 extends JFrame { public static void main(String[] args) { new ImageTest1(); } public ImageTest1() { setTitle("swing 画像表示サンプル1"); // ポイント1.ImageIconクラスでアイコンとして画像を読み込む ImageIcon icon = new ImageIcon("logo3w.png"); // ポイント2.JLabelにアイコンを設定 JLabel l = new JLabel(icon); add(l); // ついでにJFrameのアイコンにも設定 setIconImage(icon.getImage()); setDefaultCloseOperation(EXIT_ON_CLOSE); setBounds(100, 100, 300, 200); setVisible(true); } } アフィリエイト
https://w.atwiki.jp/kt108stars/pages/8101.html
772 名前:ゲーム好き名無しさん[sage] 投稿日:2013/04/17(水) 14 37 01.13 ID OLJ12iT70 リソースリソースって名前が出てきて思い出した話なんだが、 昔コンベで当たったGMに嫌な思い出があってなぁ PCが1シナリオ一回のスキルとかを持ってるタイプのゲームで 俺はそのシステムは初心者だったので、 GMに説明してほぼサンプル通りのキャラ使うことにさせてもらった そのシナリオは時間制限のある話だったので、それぞれ単独行動をとることになったんだが 俺のところにだけ敵キャラが出てきた 序盤の序盤だったんでザコ敵かなって思ったし、描写もいい加減、 見た目では強さも分からない。ほかのPLに相談しようとしたらGMに遮られる 時間を無駄にしちゃダメかなーって戦闘することにしたら、 ザコだけどPC一人では勝てないぐらいの強さで、 逃走も遮られて、使いきりのスキルを使って倒す羽目になった。 んで、特に情報もなく俺のシーンは終了。 そこで午前の部が終わって、午後まで飯を食う時間になったんだが…… 飯の間にGMが、俺の行動についてぶっちゃけだす。 「あの敵は単独行動をとったら起きるデメリットで、倒しても無意味」 「初心者だから戦闘のチュートリアルを兼ねた」 「厄介なリソースを使ってもらってウマーだった。 普通に組んだキャラなら余裕で勝てるのに、やっぱサンプルキャラは弱いわ」 こういう話を他のPLと一緒に聞かされた俺は、 午後はとても楽しくプレイする気になれず、半ば地蔵になってたよ 774 名前:ゲーム好き名無しさん[sage] 投稿日:2013/04/17(水) 14 40 57.61 ID wVXLaZSNP [2/2] 酷い話だな。初心者いじめてなにが楽しいんだか。 775 名前:ゲーム好き名無しさん[sage] 投稿日:2013/04/17(水) 14 43 41.27 ID M1zBRZ7+0 [1/4] まぁチュートリアルだからいいだろうと思ってたんだろうが口に出すなよなぁ 776 名前:ゲーム好き名無しさん[sage] 投稿日:2013/04/17(水) 14 45 30.54 ID wGa0LDpvP [5/10] 772 コンベは当たりハズレが激しいからなあ 飯食ってそのまま帰ったほうが良かったな、いやマジで 780 名前:ゲーム好き名無しさん[sage] 投稿日:2013/04/17(水) 16 05 04.97 ID 13qhxrXc0 [4/4] 772 報告乙。 厄介なリソースを使ってもらってウマーだった。 多分問題はここだな。あかんGMだと思うわ。 781 名前:ゲーム好き名無しさん[sage] 投稿日:2013/04/17(水) 16 28 29.07 ID u6wxamFfO [2/2] 772 報告乙。 掘り下げると複数箇所でGMに困の臭いが。 意図的に描写をいい加減にして、相談させないように遮ったり、無意味な戦闘をさせて逃走も認めない時点でアウト。 万が一、リソースを切るのを躊躇うPLで、その時点でPCが倒れたらどうするつもりだったのか気になる。 (PLを侮蔑して非難する光景しか見えないが) 782 名前:ゲーム好き名無しさん[sage] 投稿日:2013/04/17(水) 17 07 21.35 ID ntBvs9hS0 [7/7] 772 報告乙 リソース云々というより、もう完全に基本的な考え方が困GM共通の考え方のGMだな 話を聞く限りでは、色んな局面でちょこちょこ困を発揮するタイプのGMだと思う 厄介な能力使ってもらってウマーって。いったいお前は、何と戦って何を目的にGMしてるんだとw むしろ、PLがどうでもいいシーンで大事なスキル使っちゃって後半活躍できなくなることはGMにとってピンチじゃん? 「今日のセッション、あまり楽しめなかった」ってなっちゃうわけだから まあ、多分、そのGMはPL楽しませる以上に自分が楽しむ事が大事って事なんだろうけどさ (自分の楽しみ=PLを楽しませること、なら問題ないんだけどね……) スレ350
https://w.atwiki.jp/tnk_hoppou/pages/241.html
カスタマイズサンプル1 サンプル1(カスタム名など) ロボ ベル ガン ガトリングガン ボム ウェーブボム ポッド シーカーポッドF レッグ スタビライザーレッグ 得意距離 近~中距離 備考 - 戦術・カスタマイズ概要 初心者にオススメの万能機体 基本的に地上を駆け回りながらウェーブボム・シーカーポッドをバラ撒き、 隙を見てガトリングガンを撃ちこむという基本に忠実なスタイル。 ウェーブボムは直接壁に隠れた相手を狙う以外にも少しだけ照準をズラして 退路に壁のように設置して逃げる相手を燻し出したり出来るし、もちろんダウン追い打ちにも使える。 シーカーポッドは壁を挟んでとりあえず左右に出しておけば問題ない。 アタックも壁越しに攻撃出来るので、ガトリングを怖がって壁に隠れるようならアタックで奇襲しても良いだろう。 ディッキーさん ロボ ディッキー ガン トリックガン ボム ポッド レッグ フォーミュラーレッグ 得意距離 ナシ 備考 - 戦術・カスタマイズ概要 グランダー?なにシャバイことふかしてんの?アァン!? ホロセウム最速の名をほしいままにしているディッキーさん。 マジビッとしてるっす! ディッキーさん、すぐキレっから! ガマンっていうの?そんなんないぜ、マジで。 あんま調子のってるとオーバーロードすんぞコルァ! トリックガンをばらまいて、ホロセウムをかけぬけろ! 近づかれたらアタック>空中トリックガンをたたき込め! 「俺の影を踏めるかな?」
https://w.atwiki.jp/thshinkour/pages/41.html
名称 種別 コスト 対応キャラ 効果 この霊撃の効果に関することや使い勝手を記載。できるだけ客観的になるようにすること。
https://w.atwiki.jp/pokemon_scramble/pages/36.html
カイリキー(サンプル用) タイプ1 かくとう タイプ2 - アタック ●●●● ディフェンス ●●● 出現エリア いわけずりのどうくつ NA,NS,AA,AS 野生で使う技 クロスチョップ チケット ゴーリキー×5→カイリキー カイリキー×5→ワンリキー 技ガチャ 注:エクセルでのデータそのまま出したので未発見のままになってる技があるかも 注2:NCとAC~ASの雑に取ったデータを元にしています。 注3:EXは全部出るだろうってことで、全部○にしてあります。データ取ったわけではない パターン1:習得方法順(なんとなく20個位ずつにランクとか差し込んでます) パターン2:習得の種類タイトル入れる パターン3:あいうえお順 パターン4:タイプ別あいうえお順 パターン5:グレード順 パターン1:習得方法順(なんとなく20個位ずつにランクとか差し込んでます) 習得 技名 いりょく NC NB NA NS AC AB AA AS EX Lv.01 けたぐり ★★★ ○ 未 未 未 ○ ○ 未 未 ○ Lv.01 にらみつける - ○ 未 未 未 ○ ○ ○ 未 ○ Lv.01 きあいだめ - ○ 未 未 未 ○ ○ ○ 未 ○ Lv.07 きあいだめ - ○ 未 未 未 ○ ○ ○ 未 ○ Lv.10 からてチョップ ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ Lv.13 みやぶる 未発見 未 未 未 未 未 未 未 未 ○ Lv.19 ちきゅうなげ ★★★ 未 未 未 未 ○ ○ 未 未 ○ Lv.22 リベンジ ★★★ 未 未 未 未 ○ ○ ○ 未 ○ Lv.25 あてみなげ ★★★ 未 未 未 未 ○ ○ 未 未 ○ Lv.32 じごくぐるま ★★★ 未 未 未 未 ○ ○ ○ ○ ○ Lv.36 めざましビンタ ★★ 未 未 未 未 ○ ○ ○ 未 ○ Lv.40 クロスチョップ ★★★★★ 未 未 未 未 未 ○ 未 未 ○ Lv.44 こわいかお - 未 未 未 未 未 未 未 ○ ○ Lv.51 ばくれつパンチ ★★★★ 未 未 未 未 未 未 未 未 ○ 技01 きあいパンチ ★★★★★ 未 未 未 未 未 未 ○ 未 ○ 技06 どくどく ★★★★ 未 未 未 未 ○ ○ 未 未 ○ 技08 ビルドアップ - ○ 未 未 未 ○ ○ 未 未 ○ 技10 めざめるパワー ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ 技11 にほんばれ 未発見 未 未 未 未 未 未 未 未 ○ 技15 はかいこうせん ★★★★★ 未 未 未 未 未 未 ○ 未 ○ 習得 技名 いりょく NC NB NA NS AC AB AA AS EX 技17 まもる - ○ 未 未 未 ○ ○ ○ ○ ○ 技18 あまごい 未発見 未 未 未 未 未 未 未 未 ○ 技21 やつあたり 未発見 未 未 未 未 未 未 未 未 ○ 技26 じしん ★★★★ 未 未 未 未 ○ ○ ○ ○ ○ 技27 おんがえし 未発見 未 未 未 未 未 未 未 未 ○ 技28 あなをほる ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ 技31 かわらわり ★★★ ○ 未 未 未 ○ ○ ○ ○ ○ 技32 かげぶんしん 未発見 未 未 未 未 未 未 未 未 ○ 技35 かえんほうしゃ ★★★★ 未 未 未 未 ○ ○ 未 未 ○ 技38 だいもんじ ★★★★★ 未 未 未 未 未 未 ○ ○ ○ 技39 がんせきふうじ ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ 技42 からげんき ★★★ ○ 未 未 未 ○ ○ 未 未 ○ 技43 ひみつのちから ★★★ ○ 未 未 未 ○ ○ 未 ○ ○ 技44 ねむる - ○ 未 未 未 ○ ○ ○ 未 ○ 技45 メロメロ 未発見 未 未 未 未 未 未 未 未 ○ 技46 どろぼう ★★ ○ 未 未 未 ○ ○ ○ 未 ○ 技52 きあいだま ★★★★★ 未 未 未 未 未 未 ○ ○ ○ 技56 なげつける 未発見 未 未 未 未 未 未 未 未 ○ 技58 こらえる - ○ 未 未 未 ○ 未 ○ 未 ○ 技66 しっぺがえし ★★ ○ 未 未 未 ○ ○ ○ ○ ○ 習得 技名 いりょく NC NB NA NS AC AB AA AS EX 技68 ギガインパクト ★★★★★ 未 未 未 未 未 未 ○ 未 ○ 技71 ストーンエッジ ★★★★★ 未 未 未 未 未 未 ○ 未 ○ 技78 ゆうわく 未発見 未 未 未 未 未 未 未 未 ○ 技80 いわなだれ ★★★ ○ 未 未 未 ○ ○ 未 未 ○ 技82 ねごと 未発見 未 未 未 未 未 未 未 未 ○ 技83 しぜんのめぐみ 未発見 未 未 未 未 未 未 未 未 ○ 技84 どくづき ★★★★ 未 未 未 未 ○ ○ ○ ○ ○ 技87 いばる - ○ 未 未 未 ○ ○ ○ 未 ○ 技90 みがわり 未発見 未 未 未 未 未 未 未 未 ○ 秘04 かいりき ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ 秘06 いわくだき ★★ ○ 未 未 未 ○ 未 ○ 未 ○ 秘08 ロッククライム ★★★★ 未 未 未 未 ○ ○ 未 未 ○ 卵 アンコール 未発見 未 未 未 未 未 未 未 未 ○ 卵 いわなだれ ★★★ ○ 未 未 未 ○ ○ 未 未 ○ 卵 インファイト ★★★★ 未 未 未 未 未 未 ○ 未 ○ 卵 カウンター - ○ 未 未 未 ○ ○ ○ 未 ○ 卵 かみなりパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ 卵 きつけ ★★ ○ 未 未 未 ○ ○ ○ ○ ○ 卵 バレットパンチ ★★ ○ 未 未 未 ○ ○ ○ 未 ○ 卵 ひかりのかべ - ○ 未 未 未 ○ ○ ○ 未 ○ 習得 技名 いりょく NC NB NA NS AC AB AA AS EX 卵 ほのおのパンチ ★★★★ 未 未 未 未 未 未 未 未 ○ 卵 まわしげり 未発見 未 未 未 未 ○ ○ ○ ○ ○ 卵 ヨガのポーズ - ○ 未 未 未 ○ ○ ○ 未 ○ 卵 れいとうパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ 教 いびき 未発見 未 未 未 未 未 未 未 未 ○ 教 かみなりパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ 教 しんくうは ★★ 未 未 未 未 未 未 未 未 ○ 教 てだすけ - 未 未 未 未 未 未 未 未 ○ 教 どろかけ ★ 未 未 未 未 未 未 未 未 ○ 教 ばかぢから ★★★★ 未 未 未 未 未 未 未 未 ○ 教 ほのおのパンチ ★★★★ 未 未 未 未 未 未 未 未 ○ 教 れいとうパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ 習得 技名 いりょく NC NB NA NS AC AB AA AS EX 以下、長いので少し減らしています。 パターン2:習得の種類タイトル入れる 習得 技名 いりょく NC NB NA NS AC AB AA AS EX LvUP技 Lv.01 けたぐり ★★★ ○ 未 未 未 ○ ○ 未 未 ○ Lv.19 ちきゅうなげ ★★★ 未 未 未 未 ○ ○ 未 未 ○ Lv.22 リベンジ ★★★ 未 未 未 未 ○ ○ ○ 未 ○ Lv.36 めざましビンタ ★★ 未 未 未 未 ○ ○ ○ 未 ○ Lv.40 クロスチョップ ★★★★★ 未 未 未 未 未 ○ 未 未 ○ Lv.44 こわいかお - 未 未 未 未 未 未 未 ○ ○ Lv.51 ばくれつパンチ ★★★★ 未 未 未 未 未 未 未 未 ○ 技マシン 技01 きあいパンチ ★★★★★ 未 未 未 未 未 未 ○ 未 ○ 技06 どくどく ★★★★ 未 未 未 未 ○ ○ 未 未 ○ 技08 ビルドアップ - ○ 未 未 未 ○ ○ 未 未 ○ 技10 めざめるパワー ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ 秘04 かいりき ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ 秘06 いわくだき ★★ ○ 未 未 未 ○ 未 ○ 未 ○ 秘08 ロッククライム ★★★★ 未 未 未 未 ○ ○ 未 未 ○ タマゴ技 卵 いわなだれ ★★★ ○ 未 未 未 ○ ○ 未 未 ○ 卵 インファイト ★★★★ 未 未 未 未 未 未 ○ 未 ○ 教え技 教 かみなりパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ 教 しんくうは ★★ 未 未 未 未 未 未 未 未 ○ 教 てだすけ - 未 未 未 未 未 未 未 未 ○ 習得 技名 いりょく NC NB NA NS AC AB AA AS EX パターン3:あいうえお順 技名 いりょく NC NB NA NS AC AB AA AS EX いわくだき ★★ ○ 未 未 未 ○ 未 ○ 未 ○ いわなだれ ★★★ ○ 未 未 未 ○ ○ 未 未 ○ インファイト ★★★★ 未 未 未 未 未 未 ○ 未 ○ かいりき ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ かみなりパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ きあいパンチ ★★★★★ 未 未 未 未 未 未 ○ 未 ○ クロスチョップ ★★★★★ 未 未 未 未 未 ○ 未 未 ○ けたぐり ★★★ ○ 未 未 未 ○ ○ 未 未 ○ こわいかお - 未 未 未 未 未 未 未 ○ ○ しんくうは ★★ 未 未 未 未 未 未 未 未 ○ ちきゅうなげ ★★★ 未 未 未 未 ○ ○ 未 未 ○ てだすけ - 未 未 未 未 未 未 未 未 ○ どくどく ★★★★ 未 未 未 未 ○ ○ 未 未 ○ ばくれつパンチ ★★★★ 未 未 未 未 未 未 未 未 ○ ビルドアップ - ○ 未 未 未 ○ ○ 未 未 ○ めざましビンタ ★★ 未 未 未 未 ○ ○ ○ 未 ○ めざめるパワー ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ リベンジ ★★★ 未 未 未 未 ○ ○ ○ 未 ○ ロッククライム ★★★★ 未 未 未 未 ○ ○ 未 未 ○ 技名 いりょく NC NB NA NS AC AB AA AS EX パターン4:タイプ別あいうえお順 タイプ 技名 いりょく NC NB NA NS AC AB AA AS EX ノーマル いばる - ○ 未 未 未 ○ ○ ○ 未 ○ ノーマル かいりき ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ ノーマル からげんき ★★★ ○ 未 未 未 ○ ○ 未 未 ○ ノーマル きあいだめ - ○ 未 未 未 ○ ○ ○ 未 ○ ノーマル ギガインパクト ★★★★★ 未 未 未 未 未 未 ○ 未 ○ ノーマル きつけ ★★ ○ 未 未 未 ○ ○ ○ ○ ○ ノーマル こらえる - ○ 未 未 未 ○ 未 ○ 未 ○ ノーマル こわいかお - 未 未 未 未 未 未 未 ○ ○ ノーマル てだすけ - 未 未 未 未 未 未 未 未 ○ ノーマル にらみつける - ○ 未 未 未 ○ ○ ○ 未 ○ ノーマル はかいこうせん ★★★★★ 未 未 未 未 未 未 ○ 未 ○ ノーマル ひみつのちから ★★★ ○ 未 未 未 ○ ○ 未 ○ ○ ノーマル まもる - ○ 未 未 未 ○ ○ ○ ○ ○ ノーマル ロッククライム ★★★★ 未 未 未 未 ○ ○ 未 未 ○ タイプ 技名 いりょく NC NB NA NS AC AB AA AS EX かくとう あてみなげ ★★★ 未 未 未 未 ○ ○ 未 未 ○ かくとう いわくだき ★★ ○ 未 未 未 ○ 未 ○ 未 ○ かくとう インファイト ★★★★ 未 未 未 未 未 未 ○ 未 ○ かくとう カウンター - ○ 未 未 未 ○ ○ ○ 未 ○ かくとう からてチョップ ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ かくとう かわらわり ★★★ ○ 未 未 未 ○ ○ ○ ○ ○ かくとう きあいだま ★★★★★ 未 未 未 未 未 未 ○ ○ ○ かくとう きあいパンチ ★★★★★ 未 未 未 未 未 未 ○ 未 ○ かくとう クロスチョップ ★★★★★ 未 未 未 未 未 ○ 未 未 ○ かくとう けたぐり ★★★ ○ 未 未 未 ○ ○ 未 未 ○ かくとう じごくぐるま ★★★ 未 未 未 未 ○ ○ ○ ○ ○ かくとう しんくうは ★★ 未 未 未 未 未 未 未 未 ○ かくとう ちきゅうなげ ★★★ 未 未 未 未 ○ ○ 未 未 ○ かくとう ばかぢから ★★★★ 未 未 未 未 未 未 未 未 ○ かくとう ばくれつパンチ ★★★★ 未 未 未 未 未 未 未 未 ○ かくとう ビルドアップ - ○ 未 未 未 ○ ○ 未 未 ○ かくとう まわしげり ★★★ 未 未 未 未 ○ ○ ○ ○ ○ かくとう めざましビンタ ★★ 未 未 未 未 ○ ○ ○ 未 ○ かくとう リベンジ ★★★ 未 未 未 未 ○ ○ ○ 未 ○ タイプ 技名 いりょく NC NB NA NS AC AB AA AS EX どく どくづき ★★★★ 未 未 未 未 ○ ○ ○ ○ ○ どく どくどく ★★★★ 未 未 未 未 ○ ○ 未 未 ○ じめん あなをほる ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ じめん じしん ★★★★ 未 未 未 未 ○ ○ ○ ○ ○ じめん どろかけ ★ 未 未 未 未 未 未 未 未 ○ いわ いわなだれ ★★★ ○ 未 未 未 ○ ○ 未 未 ○ いわ がんせきふうじ ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ いわ ストーンエッジ ★★★★★ 未 未 未 未 未 未 ○ 未 ○ はがね バレットパンチ ★★ ○ 未 未 未 ○ ○ ○ 未 ○ ほのお かえんほうしゃ ★★★★ 未 未 未 未 ○ ○ 未 未 ○ ほのお だいもんじ ★★★★★ 未 未 未 未 未 未 ○ ○ ○ ほのお ほのおのパンチ ★★★★ 未 未 未 未 未 未 未 未 ○ でんき かみなりパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ エスパー ねむる - ○ 未 未 未 ○ ○ ○ 未 ○ エスパー ひかりのかべ - ○ 未 未 未 ○ ○ ○ 未 ○ エスパー ヨガのポーズ - ○ 未 未 未 ○ ○ ○ 未 ○ こおり れいとうパンチ ★★★★ 未 未 未 未 未 未 ○ 未 ○ あく しっぺがえし ★★ ○ 未 未 未 ○ ○ ○ ○ ○ あく どろぼう ★★ ○ 未 未 未 ○ ○ ○ 未 ○ その他 めざめるパワー ★★★ ○ 未 未 未 ○ ○ ○ 未 ○ タイプ 技名 いりょく NC NB NA NS AC AB AA AS EX パターン5:グレード順 グレード 技名 タイプ いりょく NC いわくだき かくとう ★★ NC いわなだれ いわ ★★★ NC かいりき ノーマル ★★★ NC けたぐり かくとう ★★★ NC ビルドアップ かくとう - NC めざめるパワー ??? ★★★ AC ちきゅうなげ かくとう ★★★ AC どくどく どく ★★★★ AC めざましビンタ かくとう ★★ AC リベンジ かくとう ★★★ AC ロッククライム ノーマル ★★★★ AB クロスチョップ かくとう ★★★★★ AA インファイト かくとう ★★★★ AA かみなりパンチ でんき ★★★★ AA きあいパンチ かくとう ★★★★★ AS こわいかお ノーマル - EX しんくうは かくとう ★★ EX てだすけ ノーマル - EX ばくれつパンチ かくとう ★★★★ グレード 技名 タイプ いりょく
https://w.atwiki.jp/taiari/pages/128.html
オススメ記事をご覧ください + ver.2.4.0以前のリスト ゲーム内に実装されているサンプルデッキレシピは、少々カードプールが古い点があるほか、全く手を入れていない叩き台のようなものであるため、ここである程度シンプルなデッキレシピを紹介しておく。 対策委員会 対策委員会は、鉄壁の盤面を作り上げて相手の生徒の攻撃を受け止め、相手が息切れしたところをついて勝利するコントロールデッキだ。 Unwelcome schoolで奥空アヤネ、砂狼シロコ、小鳥遊ホシノをサーチし、4コスト時にシロコを出撃させて支援特急便をサーチ。 5コスト時にアヤネを出撃させ、支援特急便のEX-COMBOでホシノをコストを支払わずに出撃させる。 シロコが生存していなければ、1度目の支援特急便で保健室から回収して直ちに効果で出撃させることでもう1枚支援特急便をサーチすることが出来るため、1コスト余分にかかるだけで同じ盤面を用意することが出来る。 上記の展開が非常に強力なデッキ。 さらに、失ったもの、手放さなかったものが絡めば、崩すのが非常に難しい盤面が完成する。後攻ならば、3ターン目までに2回シャーレを使えるため、書記の採決で山札の上に置くことで疑似的にサーチする余裕すらある。 フィニッシュ時には、黒見セリカと邪魔よ!を組み合わせた打点上昇が強力。シロコが生存していればドローン召喚:火力支援も0コストで打点を伸ばすことに貢献できる。また、セリカと邪魔よ!のセットは、書記の採決でまとめてサーチすることが出来る。 さらに、ver.2.2.0にて新規シャーレカードあたたかなものが登場。保健室回収とコスト4のアビドス出撃、EX回収をした上に保健室から失ったもの、手放さなかったものを発動するという超強力な効果を持つ。やはり《失ったもの》に追加効果が発動するのが強いシャーレの為、先に保健室にカードを落として置ける手札交換初動天雨アコを1ターン目に使う、はたまた既に使った《失ったもの》を使いまわすなどしておきたい。この際、黒見セリカなどの保健室のカードをデッキに戻してしまう相手のカードには注意が必要だ。 効果の多いカードの為、今何の処理をしているのかを1つ1つ確認しながら使うのが良いだろう。 ミレニアム ミレニアムサイエンススクールデッキは、ゲーム開発部の神秘解放戦略と、ヴェリタスのコスト軽減展開戦略を組み合わせたデッキだ。 ゲーム開発部のシャーレ、Pixel Timeがとにかく強力。ゲーム開発部が1人でも出撃していれば使えて、手札から好きなゲーム開発部を踏み倒したうえで、デッキからそれぞれのゲーム開発部に神秘解放することが出来る。 これにより、ノーコストでの ミレニアム の展開ができるため、ヴェリタスが共通で持つ ミレニアム の数だけ出撃コストが減る効果に貢献できる。 ヴェリタスの生徒はどれも粒ぞろい。手札補充とエンドフェイズ時の展開をしながら相手のAPを下げる各務チヒロ、盤面処理と打点形成に優れた小塗マキ、1枚で2体の ミレニアム を展開できる小鉤ハレ、特殊な制圧禁止効果で相手の動きを制限する音瀬コタマなどが、優勢時には全て1コストで出てくることも。 ゲーム開発部も、1体を疲労させられる才羽モモイ、Lv3になれば攻撃・制圧時にシャーレをもう1度使うことが出来る才羽ミドリ、Lv3以上の時 ゲーム開発部 の受けるダメージを減らせる花岡ユズ、盤面処理とフィニッシュどちらにも優れたファッティ天童アリスが存在する。 どの生徒も紹介しきれていない効果があるので各生徒のページに飛んで確認してほしい。 妨害と盤面展開に優れ、そこそこ簡単に使いこなせる上に研究量での伸びしろもある、非常におすすめのデッキだ。デッキ内の各カードの枚数がかなりカツカツのため、各自で馴染む構築を探してみてほしい。 トリニティ トリニティ総合学園デッキは、Time on TargetのEX-COMBOによる トリニティ の2体同時踏み倒しを主軸としたデッキだ。 強力ファッティ聖園ミカはもちろんのこと、阿慈谷ヒフミ・白洲アズサセットも強力。 発動するには桐藤ナギサが出撃していることが必要だが、もしやられてしまっても鷲見セリナとそのEX集中治療セットAで保健室から出撃することが出来るため、リカバリーも器用に可能。 盤面を維持することが出来れば、私たちの、青春の物語をによる連続追加ターンでのフィニッシュも視野になる。補習授業部の4人をそろえることについても、ナギサ・セリナの二人のEXが優秀なため、十分狙っていけるだろう。 各カードの枚数は人によってかなり分かれるところ。自分のやりたいことに合わせて調整していこう。 放課後スイーツ部 放課後スイーツ部デッキは、設置物スイーツを駆使して戦うデッキだ。 《スイーツ》は、同じエリアに生徒がいれば効果ダメージを受けないため、戒野ミサキや空崎ヒナなどに強い設置物。自分のエンドフェイズに自身のHPを1減らす代わりに、自身と同じエリアの生徒すべてを回復する効果を起動することが出来る。回復時に、山札の上から2枚を見て1枚を手札に加えることが出来る柚鳥ナツや、APとHPが2ずつ永続強化される杏山カズサなどが優秀で、《スイーツ》を並べてこれらの強力効果を連打していけるのが強みのデッキだ。 《ナツ》以外は軽減効果を持ち合わせており、ヴェリタスにも引けを取らない展開ルートを持っている。 カズサルート ①スイーツを出撃。 ②伊原木ヨシミを出撃、相手に生徒がいればそれを撃破しコストを1回復。 ③栗村アイリを出撃。勿体ないけど……えぇいっ!をデッキからサーチ。 ④杏山カズサを出撃。 ナツルート ①柚鳥ナツを出撃。出撃時効果でスイーツを生成。 ②伊原木ヨシミを出撃、相手に生徒がいればそれを撃破しコストを1回復。 ③栗村アイリを出撃。勿体ないけど……えぇいっ!をデッキからサーチ。 前者は4コスト、後者は5コストで実現可能。 《ヨシミ》で疲労させ、《アイリ》が元気にならない効果を付与させることで攻め手に制圧・移動させないコントロールプランも取ることが出来、器用なデッキ。フィニッシュはもちろん、ムキムキになった《カズサ》と、邪魔よ!とスイーツ部のEXを駆使して巨大化させた黒見セリカでトドメを刺そう。 ゲヘナ ゲヘナ学園デッキは、保健室を利用したフィニッシャーをメインに据えたビートダウンデッキだ。 風紀委員会の空崎ヒナと銀鏡イオリは、保健室のカードの数を参照してコストが減る生徒で、どちらも出撃時に生徒にダメージを与えることが出来るうえ、《ヒナ》は相手の生徒の制圧を封じる効果を、《イオリ》は生徒を撃破した時に保健室からEXを回収する効果を持っている。 天雨アコと火宮チナツの保健室を増やせる初動に加えて、新シャーレ風紀委員会の奮迅が登場。ゲヘナの生徒を確実に5枚保健室に送り込むことが出来る。 また、フィニッシュ時には便利屋68が活躍。出撃時に手札を捨てて 便利屋68 を保健室から出撃させる上、攻撃・制圧時にも手札を捨てると 便利屋68 の打点を増やすことが出来る陸八魔アル、出撃時に手札を捨てれば1エリアの生徒をすべて疲労させる鬼方カヨコ、1人でも 便利屋68 が出撃していれば使えて、 便利屋68 を保健室から出撃させられるアウトローの流儀などが強力。 さらに、保健室が絡むテーマということで、保健室回収ができる鷲見セリナと保健室から生徒を出撃させる集中治療セットAも強力。サーチには書記の採決を使おう。 保健室をリソースとして器用な動きが出来るゲヘナデッキは、少しプレイは難しいが他TCGを経験した人はお馴染みの動きでゲームができるデッキでオススメ。 アリウス アリウススクワッドは、矯正局にカードを溜め、Vanitas Vanitatumで一気に展開し、状況によってはそのまま勝利してしまう、高速ワンショットデッキだ。 矯正局とは、保健室とは違い特殊な効果でしかカードが移動しないエリア。遊戯王OCGで言う除外、ポケモンカードゲームで言うロストゾーンが近い。アリウススクワッドは、この触りにくいエリアにデッキから大量にカードを送ってしまうデメリット効果があるため、山札切れによる敗北の危険が常にまとわりつく代わりに、他のデッキではあり得ないほどの高性能を有した部活だ。 1、2ターン目は強力な初動である槌永ヒヨリやこれも私の力……?を用いて手札を整えながら矯正局にカードを送ろう。 書記の採決で秤アツコとこれも私の力……?をサーチし、Vanitas Vanitatumを山札の上にセットした後にこれも私の力……?を使うと、Vanitas Vanitatumを手札に加えながら矯正局を肥やすことが出来、非常に強力なコンボ。また、Vanitas Vanitatumが2枚以上あるなら、フィニッシュターン以外にもリソースや盤面処理のために使えることを覚えておこう。 十分な矯正局の枚数と、呼びだすアリウススクワッドが確保出来たら、Vanitas Vanitatumを発動しよう。この時、錠前サオリの出撃時効果、及び彼女のEXであるet omnia vanitas!で、HPが高い生徒や制圧を禁止している生徒、攻撃されない生徒などの、制圧に邪魔な生徒を退却させておくことが重要。 サブフィニッシャーとして黒見セリカが強力。各種シャーレやEXで際限なくAPが上がるため、1エリアの打点を彼女1人に任せられることも。邪魔よ!もフィニッシュ時と余った1コストでのルーターとして活躍。 一気に勝利する、または返せない盤面を押し付ける状況を作ることが出来るデッキだったが、ver.2.2.0では音瀬コタマが登場。誘発型制圧禁止に明確に弱い本デッキはやや立ち位置を悪くしているが、Vanitas Vanitatumの使用前に撃破できれば突破可能。パワーは確実にあるため、まだまだやれるデッキだろう。 + ver.2.1.0以前のリスト 対策委員会 純構築 対策委員会は、鉄壁の盤面を作り上げて相手の生徒の攻撃を受け止め、相手が息切れしたところをついて勝利するコントロールデッキだ。 Unwelcome schoolで奥空アヤネ、砂狼シロコ、小鳥遊ホシノをサーチし、4コスト時にシロコを出撃させて支援特急便をサーチ。 5コスト時にアヤネを出撃させ、支援特急便のEX-COMBOでホシノをコストを支払わずに出撃させる。 シロコが生存していなければ、1度目の支援特急便で保健室から回収して直ちに効果で出撃させることでもう1枚支援特急便をサーチすることが出来るため、1コスト余分にかかるだけで同じ盤面を用意することが出来る。 以上の展開が非常に強力なデッキ。 さらに、失ったもの、手放さなかったものが絡めば、崩すのが非常に難しい盤面が完成する。後攻ならば、3ターン目までに2回シャーレを使えるため、書記の採決で山札の上に置くことで疑似的にサーチする余裕すらある。 フィニッシュ時には、黒見セリカと邪魔よ!を組み合わせた打点上昇が強力。シロコが生存していればドローン召喚:火力支援も0コストで打点を伸ばすことに貢献できる。また、セリカと邪魔よ!のセットは、書記の採決でまとめてサーチすることが出来る。 改造する場合、サーチ、蘇生ができるため採用枚数を減らすことができる小鳥遊ホシノ、砂狼シロコ、十六夜ノノミの枠を、陸八魔アル、鬼方カヨコ、狐坂ワカモなどのグッドスタッフカードに一枚ずつ変更するのがオススメだ。 ゲーム開発部 ロマン構築 ゲーム開発部は、盤面を展開するコンボを決めて早期に打点を押しつけるビートデッキだ。 このデッキには主に二つの強力コンボが搭載されている。 1つ目は、時計じかけの花のパヴァーヌの発動。才羽モモイと才羽ミドリを出すことで発動条件を満たすことができ、5コストの天童アリスを最速で2ターン目に出すことが出来る、要求値こそ高いものの決まれば強力なシャーレだ。 2つ目は、モモイのLv3~攻撃・制圧時効果を使うコンボ。モモイを3枚かき集め、効果で生塩ノアを出撃させ、さらにコスト3以下の生徒まで踏み倒してしまう強力コンボ。一時はこのギミック自体をテーマとするデッキが最強格となり、今でも多くのデッキにタッチギミックとして採用されるコンボ。 ミレニアムを主軸としたデッキの為、イタズラ☆ストレートを強く使えるのがポイント。 使いこなすにはやや愛と運が必要になるが、自分の手になじむ構築に改造して使ってみてほしい。 補習授業部 奇跡青春折衷型 補習授業部は、決まったコンビ、または全員を揃えることで強化される生徒たちを全員出撃させて、最後に追加ターンを連続で獲得して勝利する、ド派手なワンショットデッキだ。 阿慈谷ヒフミは壁として使える設置物ペロロ人形を生成できる優秀な初動で、次のターンまで生存していれば、白洲アズサと合わせて堅実にアドバンテージを稼ぐことが出来る。 浦和ハナコと禁じられた遊びを始めましょうのEX-COMBOで下江コハルを出すことができ、なんとか全員を揃えることができれば、の条件を満たした私たちの、青春の物語をを使用して追加ターンを獲得することが出来る。4人が揃っている時、ハナコの効果で好きなカードをサーチすることが出来るため、最大で4ターンまで連続でとることが出来てしまう。決まれば太刀打ちできるデッキは存在しない。 ただし、盤面処理に長けたデッキがたくさん存在する中で4人を盤面に残し続けるのがやや難しい。そこで、アロナとプラナとあまねく奇跡の始発点で私たちの、青春の物語をを使用して追加ターンを得て、無理やり4人を揃える隙を作るという構築がにわかに流行しているため、ここではこちらを紹介。やや運を味方にする必要があるが、決まれば確殺のコンボであり、何よりこのゲームで唯一追加ターンを得るコンボを現実的に使えるデッキであるため、ロマンを求める先生は是非使ってみてほしい。 風紀委員会 便利屋折衷型 風紀委員会は、保健室のカードの枚数によってコストを軽減できるフィニッシャー、空崎ヒナと銀鏡イオリを出撃させて勝利を狙うビートダウンデッキだ。 天雨アコと火宮チナツの強力な初動で、保健室にゲヘナの生徒を増やしつつ、手札を整えていく。 ヒナは、8/8という強力なスタッツを持つにもかかわらず、出たときに同じエリアの生徒と設置物すべてに3ダメージを与え、警戒と挑発、さらに相手の生徒に制圧を禁止させるという分かりやすく強力なフィニッシャー。 イオリは、出たときに同じエリアの生徒一人に4ダメージを与えることが出来る、警戒持ちのアタッカー。 この2人は、ゲヘナが多ければ多いほど早出しがしやすくなるため、ここでは同じゲヘナの便利屋68との折衷型を紹介している。 陸八魔アルとアウトローの流儀を用いた打点形成は非常に強力。便利屋68のカードは手札を捨てることで強力な効果を発揮するものが多くあり、こちらの効果で保健室を増やすことも可能。 堅実に強力ながら派手な効果を使うことが出来る、かなりオススメのデッキだ。 改造する場合、この構築では便利屋68を入れている部分を、他のギミックに変更するものが流行している。才羽モモイと生塩ノアのコンボや、黒見セリカと邪魔よ!のパッケージなどが多い。他校の生徒を入れる場合は、イタズラ☆ストレートの採用も検討してみよう。 アリウススクワッド セリカ型 アリウススクワッドは、矯正局にカードを溜め、Vanitas Vanitatumで一気に展開し、状況によってはそのまま勝利してしまう、高速ワンショットデッキだ。 矯正局とは、保健室とは違い特殊な効果でしかカードが移動しないエリア。遊戯王OCGで言う除外、ポケモンカードゲームで言うロストゾーンが近い。アリウススクワッドは、この触りにくいエリアにデッキから大量にカードを送ってしまうデメリット効果があるため、山札切れによる敗北の危険が常にまとわりつく代わりに、他のデッキではあり得ないほどの高性能を有した部活だ。 1、2ターン目は強力な初動である槌永ヒヨリやこれも私の力……?を用いて手札を整えながら矯正局にカードを送ろう。 書記の採決で秤アツコとこれも私の力……?をサーチし、Vanitas Vanitatumを山札の上にセットした後にこれも私の力……?を使うと、Vanitas Vanitatumを手札に加えながら矯正局を肥やすことが出来、非常に強力なコンボ。また、Vanitas Vanitatumが2枚以上あるなら、フィニッシュターン以外にもリソースや盤面処理のために使えることを覚えておこう。 十分な矯正局の枚数と、呼びだすアリウススクワッドが確保出来たら、Vanitas Vanitatumを発動しよう。この時、錠前サオリの出撃時効果、及び彼女のEXであるet omnia vanitas!で、HPが高い生徒や制圧を禁止している生徒、攻撃されない生徒などの、制圧に邪魔な生徒を退却させておくことが重要。 一気に勝利する、または返せない盤面を押し付ける状況を作ることが出来る、回し方を覚えれば安定して強力なかなりオススメのデッキ。 このリストでは、黒見セリカがタッチで採用されている。フィニッシュターンの最初に出しておくことで、Vanitas Vanitatumや各種EXに反応して打点が伸びるため、対応できるパターンが増える、かなり流行しているオススメのチューニング。
https://w.atwiki.jp/chapati4it/pages/84.html
お知らせ JLayerを直接使うより、JLayerと同じJavaZoomで公開されているBasicPlayerを使ったほうが簡単です。 BasicPlayerを使ったサンプルはこちら MP3プレイヤーサンプル(JLayer,BasicPlayer) サンプルダウンロード 実行形式 JLayerSample.zip ソース&JLayer JLayerSampleSrc.zip ソース import java.awt.Dimension; import java.awt.FlowLayout; import java.awt.datatransfer.DataFlavor; import java.awt.dnd.DnDConstants; import java.awt.dnd.DropTarget; import java.awt.dnd.DropTargetAdapter; import java.awt.dnd.DropTargetDropEvent; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.awt.event.ComponentAdapter; import java.awt.event.ComponentEvent; import java.io.BufferedInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStream; import java.util.List; import java.util.Vector; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLabel; import javax.swing.JOptionPane; import javax.swing.JSeparator; import javax.swing.SwingWorker; import javazoom.jl.decoder.Bitstream; import javazoom.jl.decoder.BitstreamException; import javazoom.jl.decoder.Decoder; import javazoom.jl.decoder.Header; import javazoom.jl.decoder.JavaLayerException; import javazoom.jl.decoder.SampleBuffer; import javazoom.jl.player.AudioDevice; import javazoom.jl.player.FactoryRegistry; // JMF MP3 Plugin // http //www.oracle.com/technetwork/java/javase/download-137625.html public class JLayerSample extends JFrame { // 再生モード 停止 static final int PLAY_MODE_STOP = 0; // 再生モード 一時停止 static final int PLAY_MODE_PAUSE = 1; // 再生モード 再生 static final int PLAY_MODE_PLAY = 2; // 再生用の変数 // ファイル名 String filename; // バッファのバッファ Vector BufferModel buffer; // デコードスイングワーカー DecodeWorker decodeWorker; // 再生スイングワーカー PlayWorker playWorker; // デバイス AudioDevice dev; // デコーダ Decoder decoder; // 再生モード int playMode = 0; // Swing用変数、定数 // ボタン用テキスト 停止 final static String STOP = "Stop"; // ボタン用テキスト 再生 final static String PLAY = "Play"; // ボタン用テキスト 一時停止 final static String PAUSE = "Pause"; // タイトル final static String TITLE = "JLayerでmp3再生"; final static String FILE_NAME = "ファイル名:"; // 再生ボタン JButton bPlay; // 曲名ラベル JLabel label; // バッファモデル class BufferModel { // コンストラクタ SampleBufferからバッファとバッファの長さを取得しメンバに保存します。 public BufferModel(SampleBuffer output) { // 上書きされるのでクローンします。 buffer = output.getBuffer().clone(); length = output.getBufferLength(); } // バッファ public short[] buffer; // バッファの長さ public int length; } public static void main(String[] args) { new JLayerSample(); } // コンストラクタ public JLayerSample() { setTitle(TITLE); setDefaultCloseOperation(EXIT_ON_CLOSE); setBounds(200, 100, 300, 100); setLayout(new FlowLayout()); // ドロップターゲット設定 new DropTarget(this, DnDConstants.ACTION_COPY, new MyDropTargetListener()); // バッファのバッファ buffer = new Vector BufferModel (); // デコードスレッド開始 decodeWorker = new DecodeWorker(); decodeWorker.execute(); // 再生スレッド開始 playWorker = new PlayWorker(); playWorker.execute(); // ラベル設置 label = new JLabel(" mp3ファイルをドロップしてください。"); label.setPreferredSize(new Dimension(getWidth() - 10, 20)); add(label); add(getHr(2000, 0)); // 再生、停止ボタン設置 bPlay = new JButton(PLAY); bPlay.addActionListener(new bPlayAction()); JButton bStop = new JButton(STOP); bStop.addActionListener(new bStopAction()); add(bPlay); add(bStop); setVisible(true); addComponentListener(new ComponentAdapter() { // ウィンドウサイズが変化したらラベルのサイズ変更 @Override public void componentResized(ComponentEvent e) { label.setPreferredSize(new Dimension(getWidth() - 10, 20)); } }); } // 水平線 public JSeparator getHr(int width, int hight) { JSeparator sp = new JSeparator(JSeparator.HORIZONTAL); sp.setPreferredSize(new Dimension(width, hight)); return sp; } // 再生ボタンのアクションクラス class bPlayAction implements ActionListener { @Override public void actionPerformed(ActionEvent e) { // System.out.println("mode = " + playMode); if (playMode == PLAY_MODE_PAUSE) { // 一時停止の場合、一時停止を解除します noPause(); } else if (playMode == PLAY_MODE_STOP) { // 停止中の場合、再生開始します play(); } else if (playMode == PLAY_MODE_PLAY) { // 再生中の場合、一時停止します pause(); } } } // 停止ボタンのアクションクラス class bStopAction implements ActionListener { @Override public void actionPerformed(ActionEvent e) { stop(); } } // 一時停止 private void pause() { playMode = PLAY_MODE_PAUSE; bPlay.setText(PLAY); } // 一時停止解除 private void noPause() { playMode = PLAY_MODE_PLAY; bPlay.setText(PLAY); } // 再生 private void play() { decodeWorker.decodePause(); decodeWorker.decodeInit(); playMode = PLAY_MODE_PLAY; bPlay.setText(PAUSE); } // 停止 private void stop() { playMode = PLAY_MODE_STOP; bPlay.setText(PLAY); } // デコードワーカースレッド // デコーダクラスを腹持ちして、デコードループを呼び出し // デコーダクラスのポーズと初期化を中継します class DecodeWorker extends SwingWorker Object, Object { public MyDecoder myDecoder = new MyDecoder(); // デコードループを呼び出します @Override protected Object doInBackground() throws Exception { myDecoder.decodeRoop(); return null; } // デコーダクラスのポーズを呼び出します public void decodePause() { myDecoder.pause(); } // デコーダクラスの初期化を呼び出します public void decodeInit() { myDecoder.init(); } } // デコーダークラス class MyDecoder { private Bitstream bitstream; public InputStream stream; // デコードフラグ boolean decodeFlg = false; // デコードを停止 public void pause() { decodeFlg = false; } // デコーダーを初期化します void init() { // System.out.println("decodeInit start"); try { // デコード停止 decodeFlg = false; // バッファクリア buffer.clear(); // ストリームクローズ closeStream(); // デコーダの初期化 openDevice(); // インプットストリーム取得 stream = getInputStream(); if (stream == null) { return; } bitstream = new Bitstream(stream); // デコード再開 decodeFlg = true; } catch (Exception e) { e.printStackTrace(); throw new RuntimeException(e); } // System.out.println("decodeInit end"); } // デバイスを取得 private void openDevice() throws JavaLayerException { try { if (dev != null) { // デバイスがnullでなければ、クローズする dev.flush(); dev.close(); } // デバイスを取得 dev = getAudioDevice(); } catch (JavaLayerException e) { // デバイスを取得できない場合エラー e.printStackTrace(); JOptionPane.showMessageDialog(null, "デバイスを取得できませんでした。" + e.getMessage(), TITLE + " エラー", JOptionPane.WARNING_MESSAGE); System.exit(1); } // デコーダーを生成して開くする decoder = new Decoder(); dev.open(decoder); } // デコードループ // エラーが起きてもぐるぐる回り続けデコードします // デコードフラグがtrue、再生モードが停止、バッファのサイズが100以上のいずれかの場合 // デコードしないでループを空回しします void decodeRoop() { decodeFlg = true; // int i = 0; while (true) { try { if (decodeFlg playMode != PLAY_MODE_STOP buffer.size() 100) { if (!decordOneFrame()) { // System.out.println("なにかエラー?"); } } // デバッグ用のログ出力 // i++; // if (i % 1000 == 0) { // System.out.println("i = " + i + ", buffer.size = " + // buffer.size()); // } Thread.sleep(1); } catch (Exception e) { e.printStackTrace(); // エラーを握りつぶす } } } // ストリームクローズ void closeStream() { try { if (bitstream != null) { // クローズする bitstream.close(); bitstream = null; } } catch (BitstreamException e) { // 例外は握りつぶす } } // インプットストリームを取得 protected InputStream getInputStream() throws IOException { if (filename == null) { return null; } // System.out.println(filename); FileInputStream fin = new FileInputStream(filename); BufferedInputStream bin = new BufferedInputStream(fin); return bin; } // 1フレームデコード private boolean decordOneFrame() { if (bitstream == null) { return false; } try { Header h = bitstream.readFrame(); if (h == null) { return false; } SampleBuffer output = (SampleBuffer) decoder.decodeFrame(h, bitstream); if (output.getBufferLength() == 0) { // System.out.println("bufferSize = " // + output.getBufferLength()); return false; } buffer.add(new BufferModel(output)); bitstream.closeFrame(); } catch (JavaLayerException ex) { return false; } return true; } } // 再生用スイングワーカー // 再生クラスを腹持ちして、再生ループを呼び出します class PlayWorker extends SwingWorker Object, Object { MyPlayer player = new MyPlayer(); // 再生ループを呼び出します @Override protected Object doInBackground() throws Exception { // System.out.println("PlayWorker#doInBackground start"); player.playRoop(); // System.out.println("PlayWorker#doInBackground end"); return null; } } // デバイスの取得 protected AudioDevice getAudioDevice() throws JavaLayerException { return FactoryRegistry.systemRegistry().createAudioDevice(); } // 再生クラス // 再生ループしかないですけど class MyPlayer { // 再生ループ // エラーが起きようが何しようがずっと回り続け、バッファの中身をデバイスに出力します // 再生モードが再生以外、バッファサイズが0の場合は再生しないで次のループに回します public void playRoop() { // System.out.println("playRoop start"); // int j = 0; while (true) { try { // j++; // if (j % 1000 == 0) { // System.out.println("j = " + j); // } if (playMode != PLAY_MODE_PLAY || buffer.size() == 0) { Thread.sleep(1); continue; } // バッファの中身を取得し、デバイスに書き込みます BufferModel model = buffer.remove(0); dev.write(model.buffer, 0, model.length); Thread.sleep(1); } catch (Exception e) { e.printStackTrace(); } } } } // ドロップターゲットリスナー // ドロップされたファイルを受け取り、最初のファイルだけを再生します class MyDropTargetListener extends DropTargetAdapter { @Override public void drop(DropTargetDropEvent dtde) { dtde.acceptDrop(DnDConstants.ACTION_COPY); boolean b = false; try { if (dtde.getTransferable().isDataFlavorSupported( DataFlavor.javaFileListFlavor)) { b = true; List File list = (List File ) dtde.getTransferable() .getTransferData(DataFlavor.javaFileListFlavor); for (File file list) { // 最初のファイルだけ取得 filename = file.getPath(); label.setText(FILE_NAME + file.getName()); // 取得したファイルを再生する stop(); play(); break; } } } catch (Exception e) { e.printStackTrace(); } finally { dtde.dropComplete(b); } } } } 解説 Javaでmp3を再生するには、Java Media Framework APIという追加のAPIが提供されています。 ですが、Java Media Framework APIは配布に難がありそうなので、JLayerというmp3を再生出来るライブラリを使ってみました。 JLayerに標準で付属の再生メソッドは、再生はできるものの、停止や一時停止はできず、 単純にメソッドを呼ぶだけだと再生終了までウィンドウが操作できなくなります。 停止や一時停止など、細かいことをする場合は、自分でデコードと再生を行うとよいようです。 サンプルの解説 ウィンドウにmp3ファイルをドロップすると再生開始します。 停止、一時停止、再生ボタンもなんとか操作できます。 デコードと再生はそれぞれ、デコードスレッド、再生スレッドを作成し独立して行います。 デコードスレッドはデコード結果をバッファに詰め込み、 再生スレッドはバッファからデコード結果を取得して再生します。 バッファに余裕を持ってデコード結果を貯めて置けるので、標準の再生メソッドよりは音の途切れが少ないかもしれません。 コメント 名前